<?php namespace app\admin\controller;


use houdunwang\request\Request;
use houdunwang\view\View;
use \system\model\Category as CategoryModel;

/**
 * 栏目管理控制器
 * Class Category
 * @package app\admin\controller
 */
class Category extends Common
{
	//局部 验证登录
	public function __construct()
	{
		Middleware::set('auth');
	}
	//动作
	public function index(CategoryModel $category)
	{

		$cateData = $category->paginate(v('config.article_num'));


		//加载模板，并且分配变量
		return view('', compact('cateData'));

	}

	/**
	 * 栏目添加
	 */
	public function post ( CategoryModel $category )
	{
		//接受参数
		$cate_cid = Request::get('cate_cid',0,'intval');
		//p($cate_cid);
		if ( IS_POST ) {
			//判断是否为编辑
			if($cate_cid){
				//编辑
				$category = CategoryModel::find($cate_cid);
			}
			//添加
			//p($_POST);die;
			//Request::post()接受post提交的所有数据
			//使用方法：手册搜索【请求管理】
			$category->save( Request::post() );
			message( '操作成功' , 'index' );
		}
		//处理旧数据
		if($cate_cid){
			//编辑功能
			$oldData = CategoryModel::find($cate_cid);
			//p($oldData->toArray());
			View::with('oldData',$oldData);
			//所属分类数据，不能选择自己+自己所有子集
			$cateData = $category->getSonCateData($cate_cid);
			//p($cateData);
		}else{
			//添加栏目
			//获取栏目所有数据，数据要放在添加页面中所属栏目
			$cateData = $category->getAllCate();
			//p($cateData);
		}
		View::with( 'cateData' , $cateData );
		return view();
	}


	public function del(CategoryModel $category)
	{
//		echo 1;

		$cate_cid = Request::get('cate_cid');

		//执行删除
		if ($category->del($cate_cid)) {
//跳转方式分为 back(返回上一页) refresh(刷新当前页) 具体Url，但注意如果是异步请求时无效，系统返回JSON数据。

			return $this->setRedirect('index')->success('删除成功');
		} else {

			//return $this->error('处理失败'); 也可以
			return $this->error($category->getError());
		}
	}


}
